<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>product (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>


  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
       <span class="fn">userAgent.product</span>
</div>

<hr/>


  <h2>Classes</h2>
   
<br/>

  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>




  <h2>Global Functions</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.userAgent.product.determineVersion_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">determineVersion_<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&nbsp;
            The string that describes the version number of the user
    agent product.  This is a string rather than a number because it may
    contain 'b', 'a', and so on.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product_isversion.js.source.html#line38">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.userAgent.product.execRegExp_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">execRegExp_<span class="args">(<span class="arg">re</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>
      </div>


     <div class="entryOverview">
       Run regexp's exec() on the userAgent string.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">re</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp">RegExp</a></span>
        <div class="entryOverview">Regular expression.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>&nbsp;
            A result array, or null for no match.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product_isversion.js.source.html#line116">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.userAgent.product.getFirstRegExpGroup_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">getFirstRegExpGroup_<span class="args">(<span class="arg">re</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
      </div>


     <div class="entryOverview">
       Return the first group of the given regex.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">re</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp">RegExp</a></span>
        <div class="entryOverview">Regular expression with at least one group.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>&nbsp;
            Contents of the first group or an empty string if no match.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product_isversion.js.source.html#line104">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.userAgent.product.init_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">init_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Right now we just focus on Tier 1-3 browsers at:
<a href="http://wiki/Nonconf/ProductPlatformGuidelines">http://wiki/Nonconf/ProductPlatformGuidelines</a>
As well as the YUI grade A browsers at:
<a href="http://developer.yahoo.com/yui/articles/gbs/">http://developer.yahoo.com/yui/articles/gbs/</a>


     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line95">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.userAgent.product.isVersion"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">isVersion<span class="args">(<span class="arg">version</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Whether the user agent product version is higher or the same as the given
version.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">version</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The version to check.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            Whether the user agent product version is higher or the
    same as the given version.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product_isversion.js.source.html#line137">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



  <h2>Global Properties</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ANDROID"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ANDROID</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the default browser on an Android phone.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line233">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_ANDROID"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_ANDROID</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line55">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_CAMINO"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_CAMINO</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line34">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_CHROME"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_CHROME</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line61">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_FIREFOX"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_FIREFOX</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line28">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_IPAD"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_IPAD</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line48">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_IPHONE"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_IPHONE</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line41">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.ASSUME_SAFARI"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">ASSUME_SAFARI</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line67">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.CAMINO"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">CAMINO</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Camino web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line206">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.CHROME"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">CHROME</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Chrome web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line242">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.FIREFOX"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">FIREFOX</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Firefox web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line197">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.IE"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">IE</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on an IE web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line190">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.IPAD"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">IPAD</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on an iPad.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line224">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.IPHONE"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">IPHONE</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on an iPhone or iPod touch.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line215">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.OPERA"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">OPERA</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Opera web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line183">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.PRODUCT_KNOWN_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">PRODUCT_KNOWN_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether we know the product type at compile-time.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line75">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.SAFARI"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">SAFARI</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Safari web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line251">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.userAgent.product.VERSION"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">VERSION</span>
        : 
     </div>


     <div class="entryOverview">
       The version of the user agent. This is a string because it might contain
'b' (as in beta) as well as multiple dots.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product_isversion.js.source.html#line126">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedAndroid_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedAndroid_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the default browser on an Android phone.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line130">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedCamino_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedCamino_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Camino web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line109">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedChrome_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedChrome_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Chrome web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line137">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedFirefox_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedFirefox_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Firefox web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line102">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedIpad_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedIpad_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on an iPad

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line123">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedIphone_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedIphone_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on an iPhone or iPod touch.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line116">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.userAgent.product.detectedSafari_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.userAgent.product.</span><span class="entryName">detectedSafari_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the code is running on the Safari web browser.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_useragent_product.js.source.html#line144">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Package userAgent</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">Package Reference</h2>
            <div id="sideTypeIndex" rootPath="" current="userAgent.product"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
